package com.csi.service;

import com.csi.domain.FacilityInfo;
import com.csi.domain.RoomType;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface RoomTypeService {

    /**
     * 保存房型
     *
     * @param roomType       房间类型
     * @param multipartFiles
     * @return 请求结果
     */
    int save(RoomType roomType, MultipartFile[] multipartFiles);

    /**
     * 更新房型 （房型设施先删除后更新）
     * @param roomType 房间类型
     * @return 请求结果
     */
    int update(RoomType roomType,MultipartFile[] multipartFiles);

    /**
     * 根据id查找房型
     * @param roomtypeId 房型id
     * @return 请求结果
     */
    RoomType findById(long roomtypeId);

    /**
     * 根据酒店id查询房型
     * @param hotelId 酒店id
     * @return 请求结果
     */
    List<RoomType> findAll(long hotelId);

    /**
     * 线下入住 默认点击后会更改一个房间的状态
     * @param roomtypeId 房型id
     * @return 请求结果
     */
    int checkInOffline(long roomtypeId);


    /**
     * 查找酒店房型设施
     * @param hotelId
     * @return
     */
    List<FacilityInfo> findFacility(long hotelId);

    /**
     * 根据酒店id查询房间
     * @param hotelId
     * @return
     */
    Map<String, Object> findRooms(long hotelId);
}
